package com.example.aop;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
//通知类必须配置成Spring管理的bean
@Component
//设置当前类为切面类
@Aspect
public class MyAdvice {
    //定义切入点，要求配置在方法上方
    //切入点定义依托一个不具有实际意义的方法进行，即无参数、无返回值、方法体无实际逻辑。
    @Pointcut("execution(void com.example.dao.BookDao.update())")
    private void pt(){}

    //设置在切入点pt()的前面运行当前操作（前置通知）即制作切面，用来绑定通知和切入点之间的关系
     @Before("pt()")
    //通知就是将共性功能抽取出来后形成的方法，共性功能指的就是当前系统时间的打印。所以这个method就是共性的方法
    public void method(){
        System.out.println(System.currentTimeMillis());
    }
}
